/**
 * 验证组件配置
 * @param {Object} config 组件配置对象
 * @throws {Error} 如果配置无效则抛出错误
 */
export function validateConfig(config) {
  if (!config) {
    throw new Error('组件配置不能为空');
  }

  // 必需字段检查
  const requiredFields = ['name', 'label'];
  for (const field of requiredFields) {
    if (!config[field]) {
      throw new Error(`组件配置缺少必需字段: ${field}`);
    }
  }

  // 验证props结构
  if (config.props) {
    for (const [key, prop] of Object.entries(config.props)) {
      if (!prop.label && !prop.group) {
        throw new Error(`属性${key}缺少label字段`);
      }
      
      if (prop.group && !prop.props) {
        throw new Error(`分组属性${key}缺少props字段`);
      }
    }
  }
}

// 可扩展其他验证工具